﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using PedidosPaquetesTuristicos.Soa_WebServices; 

namespace PedidosPaquetesTuristicos
{
    public partial class _Default : System.Web.UI.Page
    {
        public SqlConnection cn = new SqlConnection(ConfigurationManager.ConnectionStrings["PedidosTuristicos"].ConnectionString);

        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                try
                {
                    if (Session["Cod_Usuario"].ToString().Equals(""))
                    {
                        Session["Usuario"] = "";
                    }
                }
                catch (Exception ex)
                {
                    Session["Usuario"] = "";
                    Session["Cod_Usuario"] = "";
                    Session["Comprar"] = false;
                }

                CargaPagina();
                ddlDpto.Items.Insert(0, new ListItem());
                ddlDpto.Items[0].Text = "--Seleccione--";
                ddlDpto.Items[0].Value = String.Empty;
                ddlHotel.Items.Insert(0, new ListItem());
                ddlHotel.Items[0].Text = "--Seleccione--";
                ddlHotel.Items[0].Value = String.Empty;
                ddlTipoVuelo.Items.Insert(0, new ListItem());
                ddlTipoVuelo.Items[0].Text = "--Seleccione--";
                ddlTipoVuelo.Items[0].Value = String.Empty;
                ddlEmpresaAerea.Items.Insert(0, new ListItem());
                ddlEmpresaAerea.Items[0].Text = "--Seleccione--";
                ddlEmpresaAerea.Items[0].Value = String.Empty;
                ddlTipHab.Items.Insert(0, new ListItem());
                ddlTipHab.Items[0].Text = "--Seleccione--";
                ddlTipHab.Items[0].Value = String.Empty;           
            }
        
        }
        protected void CargaPagina()
        {
            //Carga Cantidad Camas Combos
            ddlCantidadCamas.Items.Insert(0, new ListItem());
            ddlCantidadCamas.Items[0].Text = "--Todos--";
            ddlCantidadCamas.Items[0].Value = String.Empty;
            ddlCantidadCamas.Items.Insert(1, new ListItem());
            ddlCantidadCamas.Items[1].Text = "1";
            ddlCantidadCamas.Items[1].Value = "1";
            ddlCantidadCamas.Items.Insert(2, new ListItem());
            ddlCantidadCamas.Items[2].Text = "2";
            ddlCantidadCamas.Items[2].Value = "2";
            ddlCantidadCamas.Items.Insert(3, new ListItem());
            ddlCantidadCamas.Items[3].Text = "3";
            ddlCantidadCamas.Items[3].Value = "3"; 
            //Carga Departamento
            ddlDpto.DataTextField = "nom_ubigeo";
            ddlDpto.DataValueField = "coddpto";
            //
            SqlCommand com = new SqlCommand("SP_SEL_DEPT", cn);
            com.CommandType = CommandType.StoredProcedure;

            SqlDataAdapter da = new SqlDataAdapter(com);
            DataSet cli = new DataSet("cli");


            cn.Open();

            da.Fill(cli);

            cn.Close();

            if (cli.Tables[0].Rows.Count > 0)
            {
                ddlDpto.DataSource = cli.Tables[0];
                ddlDpto.DataBind();
            }
            //Carga Hotel
            ddlHotel.DataTextField = "Descripcion";
            ddlHotel.DataValueField = "Codigo";
            //
            SqlCommand com2 = new SqlCommand("SP_SEL_HOTEL", cn);
            com2.CommandType = CommandType.StoredProcedure;

            SqlDataAdapter da2 = new SqlDataAdapter(com2);
            DataSet Hot = new DataSet("Hotel");


            cn.Open();

            da2.Fill(Hot);

            cn.Close();

            if (Hot.Tables[0].Rows.Count > 0)
            {
                ddlHotel.DataSource = Hot.Tables[0];
                ddlHotel.DataBind();
            }
            //Carga Tipo Vuelo
            ddlTipoVuelo.DataTextField = "Descripcion";
            ddlTipoVuelo.DataValueField = "Cod_tip_vuelo";
            //
            SqlCommand com3 = new SqlCommand("SP_SEL_TIPOS_VUELO", cn);
            com3.CommandType = CommandType.StoredProcedure;

            SqlDataAdapter da3 = new SqlDataAdapter(com3);
            DataSet tipvue = new DataSet("TipoVuelo");


            cn.Open();

            da3.Fill(tipvue);

            cn.Close();

            if (tipvue.Tables[0].Rows.Count > 0)
            {
                ddlTipoVuelo.DataSource = tipvue.Tables[0];
                ddlTipoVuelo.DataBind();
            }
            //Carga Empresa Aerea
            ddlEmpresaAerea.DataTextField = "Nombre";
            ddlEmpresaAerea.DataValueField = "Codigo";
            //
            SqlCommand com4 = new SqlCommand("SP_SEL_EMPRESA_AEREA", cn);
            com4.CommandType = CommandType.StoredProcedure;

            SqlDataAdapter da4 = new SqlDataAdapter(com4);
            DataSet EmpAer = new DataSet("EmpAerea");


            cn.Open();

            da4.Fill(EmpAer);

            cn.Close();

            if (EmpAer.Tables[0].Rows.Count > 0)
            {
                ddlEmpresaAerea.DataSource = EmpAer.Tables[0];
                ddlEmpresaAerea.DataBind();
            }
            //Carga Tipo Habitacion
            ddlTipHab.DataTextField = "Descripcion";
            ddlTipHab.DataValueField = "Cod_tip_hab";
            //
            SqlCommand com5 = new SqlCommand("SP_SEL_TIPO_HABITACION", cn);
            com5.CommandType = CommandType.StoredProcedure;

            SqlDataAdapter da5 = new SqlDataAdapter(com5);
            DataSet TipHab = new DataSet("TipHab");


            cn.Open();

            da5.Fill(TipHab);

            cn.Close();

            if (TipHab.Tables[0].Rows.Count > 0)
            {
                ddlTipHab.DataSource = TipHab.Tables[0];
                ddlTipHab.DataBind();
            }
        }

        protected void ddlDpto_SelectedIndexChanged(object sender, EventArgs e)
        {
            //Carga Provincia
            ddlProv.DataTextField = "nom_ubigeo";
            ddlProv.DataValueField = "codprov";

            //
            SqlCommand com = new SqlCommand("SP_SEL_PROV", cn);
            com.CommandType = CommandType.StoredProcedure;
            com.Parameters.Add("@DEPT", SqlDbType.Int).Value = Convert.ToInt32(ddlDpto.SelectedValue);

            SqlDataAdapter da = new SqlDataAdapter(com);
            DataSet cli = new DataSet("cli");

            cn.Open();

            da.Fill(cli);

            cn.Close();

            if (cli.Tables[0].Rows.Count > 0)
            {
                ddlProv.DataSource = cli.Tables[0];
                ddlProv.DataBind();
                ddlProv.Items.Insert(0, new ListItem());
                ddlProv.Items[0].Text = "--Seleccione--";
                ddlProv.Items[0].Value = String.Empty;
            }
        }

        protected void ddlProv_SelectedIndexChanged(object sender, EventArgs e)
        {
            //Carga Distrito
            ddlDist.DataTextField = "nom_ubigeo";
            ddlDist.DataValueField = "coddist";

            //
            SqlCommand com = new SqlCommand("SP_SEL_DIST", cn);
            com.CommandType = CommandType.StoredProcedure;
            com.Parameters.Add("@DEPT", SqlDbType.Int).Value = Convert.ToInt32(ddlDpto .SelectedValue);
            com.Parameters.Add("@PROV", SqlDbType.Int).Value = Convert.ToInt32(ddlProv.SelectedValue);

            SqlDataAdapter da = new SqlDataAdapter(com);
            DataSet cli = new DataSet("cli");

            cn.Open();

            da.Fill(cli);

            cn.Close();

            if (cli.Tables[0].Rows.Count > 0)
            {
                ddlDist.DataSource = cli.Tables[0];
                ddlDist.DataBind();
                ddlDist.Items.Insert(0, new ListItem());
                ddlDist.Items[0].Text = "--Seleccione--";
                ddlDist.Items[0].Value = String.Empty;
            }
        }

        protected void btnBuscar_Click(object sender, EventArgs e)
        {
            Soa_WebServices.WebServiceRegistraCliente Registra = new WebServiceRegistraCliente();

            int Hotel= 0;
            int TipoVuelo = 0;
            int dpto = 0;
            int prov = 0;
            int dist = 0;
            int TipHab=0;
            int EmpAer=0;
            int CantCam = 0;
            if ( ddlHotel.SelectedValue != "") Hotel = Convert.ToInt32 (ddlHotel.SelectedValue);
            if ( ddlTipoVuelo.SelectedValue != "" ) TipoVuelo = Convert.ToInt32 (ddlTipoVuelo.SelectedValue);
            if ( ddlDpto.SelectedValue != "") dpto = Convert.ToInt32 (ddlDpto.SelectedValue);
            if ( ddlProv.SelectedValue != "") prov = Convert.ToInt32(ddlProv.SelectedValue);
            if (ddlDist.SelectedValue != "") dist = Convert.ToInt32(ddlDist.SelectedValue);
            if (ddlTipHab.SelectedValue != "") TipHab = Convert.ToInt32(ddlTipHab.SelectedValue);
            if (ddlEmpresaAerea.SelectedValue != "") EmpAer = Convert.ToInt32(ddlEmpresaAerea.SelectedValue);
            if (ddlCantidadCamas.SelectedValue != "") CantCam = Convert.ToInt32(ddlCantidadCamas.SelectedValue);
            DataSet Respuesta = Registra.SeleccionarPaquete(Hotel, TipoVuelo, dpto, prov, dist, TipHab, EmpAer, CantCam);

            GvPaquetes.DataSource = Respuesta.Tables[0];
            GvPaquetes.DataBind();  
        }

        protected void GvPaquetes_SelectedIndexChanged(object sender, EventArgs e)
        {

        }

        protected void GvPaquetes_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            Button boton = (Button)e.Row.FindControl("btnComprar");
            e.Row.Style["cursor"] = "pointer";
            e.Row.Attributes["onclick"] = "javascript: window.open('ValidaCompra.aspx?Codigo=" + e.Row.Cells[1].Text.ToString() + "');";
        }

        protected void btnComprar_Click(object sender, EventArgs e)
        {

        }
    }
}
